JSP使用cookie实现记住账号密码的功能 |
您所在的位置:网站首页 › cookie 怎么保持登录状态 › JSP使用cookie实现记住账号密码的功能 |
所谓自动登录,就是下次打开的时候不用再次输入账号密码,一定程度上方便了用户,但也有它的缺点,就是可能泄露用户信息。 HTTP的无状态性 HTTP的无状态性,是指当客户端发请求给服务器的时候,服务器会响应客户端的请求,但当客户端再次发请求给服务器时,服务器并不知道这就是刚刚那个客户端。简单的说,就是服务器没有记忆,不会记住客户端。 那这样我们要让服务器记住一些事情怎么办呢?比如要记住客户端输入的账户信息,这时我们就可以使用JSP的cookie来实现这个功能。 保存用户状态的两种方式 sessioncookie下面我们来讲讲怎么用cookie实现记住账号信息的功能。 在JSP中创建和使用cookie 1.创建cookie对象 Cookie cookie = new Cookie(String name, Object value);2.写入cookie对象 response.addCookie(cookie);3.读取cookie对象 Cookie[] cookies = request.getCookies();Cookie的一些常用方法,可以查看API,这是传送门https://docs.oracle.com/javaee/6/api/ 下面我们用代码来看看,代码分为三块, 第一个是login.jsp,是用户的登陆界面,用户在此界面输入用户名和密码,在这个页面上,我们要判断用户是否选择了记住账号信息的选项,如果选择了,在账户输入框和密码输入框,我们就自动填上账户信息,如果没有勾选,则不填。第二个是dologin.jsp,顾名思义,就是处理用户的输入信息,在这个页面,先判断用户是否勾选了记住账号信息的选项,如果勾选了,我们先用request内置对象读取用户输入的信息,然后把值放入新建的cookie对象,最后用response写入cookie对象。如果没有勾选,则判断cookie里是否有值,如果有值,则设置cookie的有效期,使cookie过期。第三个是user_info.jsp,是显示用户信息的页面,超链接放在dologin.jsp里面。在这个页面,我们先先读取cookie的信息,如果不为空,则循环输出账号信息。 用户登录 用户登录 0) { for(Cookie c:cookies) { if(c.getName().equals("usernameCookie")) { // 解码 username = URLDecoder.decode(c.getValue(), "utf-8"); } else if(c.getName().equals("passwordCookie")) { password = URLDecoder.decode(c.getValue(), "utf-8"); } } } %> 用户名 密码 七天免登录用户登录界面,粗糙的写了一下。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |